using System;using System.ComponentModel;using System.Drawing;using System.Threading;using System.Windows.Forms;namespace drawRegionByThread{ public partial class Form1 : Form { Thread drawThread = null; ThreadState drawThreadState = ThreadState.Unstarted; int x, y, size = 4; bool sub = false; void pDrawFuntion() { while (true) { if (ThreadState.Stopped == drawThreadState) { break; } if (ThreadState.StopRequested == drawThreadState) { drawThreadState = ThreadState.Stopped; continue; } if (ThreadState.SuspendRequested == drawThreadState) { continue; } if (ThreadState.Suspended == drawThreadState) { drawThreadState = ThreadState.Suspended; continue; } if (ThreadState.Running == drawThreadState) { lock (this) { UpdateUI(); } } } } void UpdateUI() { try { Invoke(new Action(() => { Refresh(); })); } catch { } } public Form1() { InitializeComponent(); } protected override void OnMouseDown(MouseEventArgs e) { x = e.X; y = e.Y; size = 4; } protected override void OnMouseMove(MouseEventArgs e) { x = e.X; y = e.Y; if (sub) sub = !(6 > size--); else sub = 88 < size ; } protected void drawCircle(Graphics g, int x, int y, int size = 4) { g.DrawEllipse(new Pen(new SolidBrush(Color.Lime), 2), new RectangleF(x - size, y - size, size * 2, size * 2)); } protected override void OnPaint(PaintEventArgs e) { lock (e) { drawCircle(e.Graphics, x, y, size); if (4 == size) { e.Graphics.DrawString("MouseDown", new Font("楷体", 16), new SolidBrush(Color.Red), new PointF(10, 30)); } else { e.Graphics.DrawString("MouseMove", new Font("楷体", 16), new SolidBrush(Color.Red), new PointF(10, 30)); } } } protected override void OnShown(EventArgs e) { drawThread = new Thread(pDrawFuntion); drawThread.IsBackground = true; drawThreadState = ThreadState.Running; drawThread.Start(); } protected override void OnClosing(CancelEventArgs e) { drawThreadState = ThreadState.StopRequested; } }}
下载C# 多线程画图 示例源码用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论